package hihocoder;
import java.util.Scanner;

/**
 * 
 */

/**2*n大小的条形棋盘，用1*2的骨牌去覆盖，有多少种不同的方式？要求输出%19999997
 * 用动态规划的思想，有两种方法：横着或竖着dp(i)=dp(i-2)+dp(i-1),i=0,1的时候取值为1
 * @author zhongfang
 *
 */
public class GuPaiFuGai {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		int N=scanner.nextInt();
		int limit=19999997;
		int a=1;//i-2
		int b=1;//i-1
		int c=1;
		for (int i = 2; i <= N; i++) {
			c=a+b;
			if(c>=limit){
				c-=limit;
			}
			a=b;
			b=c;
		}
		System.out.println(c);
	}

}
